<template>
  <div class="rated">
    <p class="title">最受好评电影</p>
    <div class="wrapper">
      <ul>
        <li v-for="item in ratedList" :key="item._id">
          <div class="imgwarp">
            <img :src="item.imgUrl" alt="" />
            <div class="score" v-if="item.score">
              观众评分：{{ item.score }}
            </div>
            <div class="score" v-else>{{ item.wishNum }} :人想看</div>
          </div>

          <h5>{{ item.title }}</h5>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
// import { ratedApi } from "../../utils/api.js";

import BScroll from "better-scroll";
import { mapState, mapActions } from "vuex";

export default {
  // data() {
  //   return {
  //     ratedList: [],
  //   };
  // },

  components: {},

  // computed: mapState(["ratedList"]),
  computed: mapState({
    ratedList: (state) => state.rated.ratedList,
  }),

  // 这里调用的是vuex当中的actions函数
  mounted() {
    this.getRatedAsync().then(() => {
      new BScroll(".wrapper", {
        startX: 0,
        scrollX: true,
        scrollY: false,
        click: true,
      });
    });
  },

  methods: {
    // 可以多加第一个参数是模块名
    ...mapActions("rated", ["getRatedAsync"]),
    //     async getData() {
    //       // fetch("http://www.pudge.wang:3080/api/rated/list")
    //       //   .then((response) => response.json())
    //       //   .then((res) => {
    //       //     console.log(res);
    //       //     if (res.status == 0) {
    //       //       this.ratedList = res.result;
    //       //     }
    //       //   });
    //
    //       // ratedApi().then((res) => {
    //       //   this.ratedList = res.result;
    //       // });
    //
    //       const res = await ratedApi({});
    //       this.ratedList = res.result;
    //       await this.$nextTick();
    //
    //       // 添加滚动条是在数据加载完成的时候
    //       // 第一个参数 是父元素  第二个参数是描述对象
    // new BScroll(".wrapper", {
    //   startX: 0,
    //   scrollX: true,
    //   scrollY: false,
    //   click: true,
    // });
    //     },
  },
};
</script>

<style lang="less" scoped>
@import "../../assets/css/var.less";
.rated {
  width: 100%;
  height: 205px;
  background-color: #fff;
  padding: 12px 15px;

  .title {
    font-size: @s-font;
    color: #333;
    margin: 0 0 12px;
  }
  .wrapper {
    overflow: hidden;
  }
  ul {
    // width: 100%;
    height: 150px;
    display: inline-flex;
    // overflow: auto;

    li {
      width: 85px;
      height: 100%;
      margin-right: 10px;
      flex-shrink: 0;

      .imgwarp {
        width: 85px;
        height: 115px;
        position: relative;

        img {
          width: 100%;
          height: 100%;
        }

        .score {
          position: absolute;
          width: 100%;
          height: 30px;
          left: 0;
          bottom: 0;
          font-size: @xs-font;
          color: @score-color;
          line-height: 35px;
          font-weight: 900;
          background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0),
            rgba(0, 0, 0, 0.9)
          );
        }
      }

      h5 {
        font-size: @xs-font;
        width: 100%;
        .ell();
      }
    }
  }
}
</style>
